package br.com.mftc.efitness.negocio;

import br.com.mftc.efitness.basicas.Aluno;
import br.com.mftc.efitness.dados.DadosAluno;
import br.com.mftc.efitness.dados.IDadosAluno;
import br.com.mftc.efitness.excecoes.ExcecaoCamposObrigatoriosNaoPreenchidos;
import br.com.mftc.efitness.excecoes.ExcecaoNegocio;

public class ControladorAluno {

	private final IDadosAluno dadosAluno;

	public ControladorAluno() {
		dadosAluno = new DadosAluno();
	}

	public void inserir (Aluno aluno) throws ExcecaoNegocio, ExcecaoCamposObrigatoriosNaoPreenchidos {
		try {
			dadosAluno.iniciarTransacao();
			dadosAluno.inserir(aluno);
			dadosAluno.finalizarTransacao();
		} catch (Exception excecao) {
			try {
				dadosAluno.desfazerTransacao();
				throw new ExcecaoNegocio(excecao);
			} catch (Exception excecaoAux) {
				throw new ExcecaoNegocio(excecaoAux);
			}
		}
	}
}
